81 research outputs found

    The Duke Internet Programming Contest

    Get PDF
    On the evening of October 23, 1990, electronic mail messages started to pour into the computers at the Duke University Computer Science Department. Teams of programmers from all over the world were registering to compete in the first global (as far as the authors are aware) programming contest to be held on the Internet. During the three hour competition, modeled after the annual ACM scholastic programming contest, 60 teams from 37 institutions in 5 countries attempted to solve a set of six programming problems using C or Pascal. Their solutions were sent by electronic mail to Duke, where their programs were judged and the results returned by electronic mail. At the conclusion of the contest, 330 program submissions had been judged and 65 clarification requests were answered

    Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories

    Get PDF
    This working group asserts that Program Comprehension (ProgComp) plays a critical part in the process of writing programs. For example, this paper is written from a basic draft that was edited and revised until it clearly presented our idea. Similarly, a program is written incrementally, with each step tested, debugged and extended until the program achieves its goal. Novice programmers should develop program comprehension skills as they learn to code so that they are able both to read and reason about code created by others, and to reflect on their code when writing, debugging or extending it. To foster such competencies our group identified two main goals: (g1) to collect and define learning activities that explicitly address key components of program comprehension and (g2) to define tentative theoretical learning trajectories that will guide teachers as they select and sequence those learning activities in their CS0/CS1/CS2 or K-12 courses. The WG has completed the first goal and laid down a strong foundation towards the second goal as presented in this report. After a thorough literature review, a detailed description of the Block Model is provided, as this model has been used with a dual purpose, to classify and present an extensive list of ProgComp tasks, and to describe a possible learning trajectory for a complex task, covering different cells of the Block Model matrix. The latter is intended to help instructors to decompose complex tasks and identify which aspects of ProgComp are being fostered

    Innovating Our Self Image (Special Session)

    Get PDF
    The NSF CISE Directorate selected Owen Astrachan and Peter Denning as the first two Distinguished Education Fellows. Their job is to serve as ambassadors for curriculum change in a field whose basic curriculum structure is much the same as it was in the 1970s. They believe that: The outdated 1970-era curriculum structure is largely responsible for the harmful and misleading external image that CS=programming.The external image reflects an internal self-image that started in the 1970s as “we are programmers” and matured in the 1990s to “we are masters of abstraction.” These images do not foster collaboration with other fields and do not excite the curiosity of young people

    Resolved: Objects Early Has Failed

    Get PDF
    The participants will use a debate format with a provocative thesis to explore the pedagogical approach known as "objects early" or "objects first." By arguing in the affirmative, Elliot Koffman and Stuart Reges will point out concerns that have been raised about the approach. By arguing in the negative, Kim Bruce and Michael Kölling will describe schools that are succeeding with the approach and ways to address significant concerns. Owen Astrachan as moderator will ensure that the debate remains civil and will provide some humorous and possibly even insightful commentary on the evidence presented by both sides

    Pictures as invariants

    No full text
    The development, speci cation, and use of a loop invariant are useful and underutilized tools in writing code to solve a problem or implement an algorithm. Invariants are especially useful in introductory courses (CS1 and CS2) but are usually avoided because of the mathematical notation associated with them and because most textbooks have brief, if any, coverage of them. Our intent in this paper is provide several motivating examples of the use of pictures as loop invariants and to provide pointers to literature that more fully explores and develops the ideas of using loop invariants in specifying and developing programs.

    Bubble Sort: An Archaeological Algorithmic Analysis

    No full text
    Text books, including books for general audiences, invariably mention bubble sort in discussions of elementary sorting algorithms. We trace the history of bubble sort, its popularity, and its endurance in the face of pedagogical assertions that code and algorithmic examples used in early courses should be of high quality and adhere to established best practices. This paper is more an historical analysis than a philosophical treatise for the exclusion of bubble sort from books and courses. However, sentiments for exclusion are supported by Knuth [17], "In short, the bubble sort seems to have nothing to recommend it, except a catchy name and the fact that it leads to some interesting theoretical problems." Although bubble sort may not be a best practice sort, perhaps the weight of history is more than enough to compensate and provide for its longevity

    Head in the clouds

    No full text
    • …
    corecore